/*
 * Created by SharpDevelop.
 * User: Edward Wilde (http://blogs.charteris.com/edwardw)
 * Date: 30/06/2007
 * Time: 12:25
 * 
 */

using System;
using WatiN.Core;

namespace Wax
{
	/// <summary>
	/// Enumeration of different types of <see cref="WatiN.Core.Find">methods</see> that can be used to locate an <see cref="WatiN.Core.Element" />
	/// </summary>
	[Flags]
	public enum FindMethodTypes
	{
		/// <summary>
		/// No find method type specified
		/// </summary>
		None = 0,
		
		/// <summary>
		/// Finds an element using the Id attribute
		/// </summary>
		ById = 1,
		
		/// <summary>
		/// Finds an element using the name attribute
		/// </summary>
		ByName = 2,
		
		/// <summary>
		/// Finds an element by matching the value of an element
		/// </summary>
		ByValue = 4,

        /// <summary>
        /// Finds an element by matching the title of an element
        /// </summary>
		ByTitle = 8,

        /// <summary>
        /// Use the last found element.
        /// </summary>
        ByLastElement = 16,

        /// <summary>
        /// Allows actions and validation to be performed using the <see cref="Document"/>
        /// </summary>
        UsingDocument = 32,

        /// <summary>
        /// Finds an <see cref="Element"/> by the value of it's href.
        /// </summary>
	    ByUrl = 64,

        /// <summary>
        /// Finds an element by matching the name and value of an element
        /// </summary>
        ByNameAndValue = ByName | ByValue,

        /// <summary>
        /// Finds an <see cref="Element"/> by the value of it's alt attribute.
        /// </summary>
        ByAlt = 128
    }
}
